From 2d43ecf8ca6c2598875da61b4003b0a0e2f70d8d Mon Sep 17 00:00:00 2001 From: =?utf8?q?Timm=20B=C3=A4der?= Date: Thu, 19 Nov 2020 12:00:40 +0100 Subject: [PATCH] widget: root child before emitting child observer signals Try to avoid the childen_observer signal handlers screwing up internal state. Fixes #3364 --- gtk/gtkwidget.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 0b663d98dd..239e9ff929 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -5776,6 +5776,9 @@ gtk_widget_reposition_after (GtkWidget *widget, _gtk_widget_update_parent_muxer (widget); + if (parent->priv->root && priv->root == NULL) + gtk_widget_root (widget); + if (parent->priv->children_observer) { if (prev_previous) @@ -5784,9 +5787,6 @@ gtk_widget_reposition_after (GtkWidget *widget, gtk_list_list_model_item_added (parent->priv->children_observer, widget); } - if (parent->priv->root && priv->root == NULL) - gtk_widget_root (widget); - if (prev_parent == NULL) g_object_notify_by_pspec (G_OBJECT (widget), widget_props[PROP_PARENT]); -- 2.30.2